package nio.channel;

import java.io.File;
import java.nio.file.Path;

public class FileCopyHelper {
	
	/**
	 * 使用 传统IO 实现文件复制
	 * @param src 被复制文件
	 * @param dst 复制后的文件
	 */
	public static void copy( File src , File dst ) {
		final long begin = System.nanoTime(); // 返回毫微秒 (不是从历元开始计时)
		
		// 借助于 FileInputStream 和 FileOutputStream 实现文件复制
		
		final long end = System.nanoTime(); 
		System.out.println( "复制文件用时: " + ( end - begin ) + "ns." );
	}
	
	/**
	 * 使用 Channel 和 Buffer 完成文件复制
	 * @param src 被复制的文件路径
	 * @param dst 复制后的文件存放路径
	 */
	public static void copy( Path src , Path dst ) {
		final long begin = System.nanoTime(); // 返回毫微秒 (不是从历元开始计时)
		
		// 借助于 FileChannel 和 ByteBuffer 实现文件复制
		
		final long end = System.nanoTime(); 
		System.out.println( "复制文件用时: " + ( end - begin ) + "ns." );
	}

}
